// Code generated by github.com/Khan/genqlient, DO NOT EDIT.

package gql

import (
	"context"

	"github.com/Khan/genqlient/graphql"
)

type AlertSeverity string

const (
	AlertSeverityInfo  AlertSeverity = "INFO"
	AlertSeverityWarn  AlertSeverity = "WARN"
	AlertSeverityError AlertSeverity = "ERROR"
)

type ArtifactAliasInput struct {
	ArtifactCollectionName string `json:"artifactCollectionName"`
	Alias                  string `json:"alias"`
}

// GetArtifactCollectionName returns ArtifactAliasInput.ArtifactCollectionName, and is useful for accessing the field via an interface.
func (v *ArtifactAliasInput) GetArtifactCollectionName() string { return v.ArtifactCollectionName }

// GetAlias returns ArtifactAliasInput.Alias, and is useful for accessing the field via an interface.
func (v *ArtifactAliasInput) GetAlias() string { return v.Alias }

// ArtifactFileURLsArtifact includes the requested fields of the GraphQL type Artifact.
type ArtifactFileURLsArtifact struct {
	Files ArtifactFileURLsArtifactFilesFileConnection `json:"files"`
}

// GetFiles returns ArtifactFileURLsArtifact.Files, and is useful for accessing the field via an interface.
func (v *ArtifactFileURLsArtifact) GetFiles() ArtifactFileURLsArtifactFilesFileConnection {
	return v.Files
}

// ArtifactFileURLsArtifactFilesFileConnection includes the requested fields of the GraphQL type FileConnection.
type ArtifactFileURLsArtifactFilesFileConnection struct {
	PageInfo ArtifactFileURLsArtifactFilesFileConnectionPageInfo        `json:"pageInfo"`
	Edges    []ArtifactFileURLsArtifactFilesFileConnectionEdgesFileEdge `json:"edges"`
}

// GetPageInfo returns ArtifactFileURLsArtifactFilesFileConnection.PageInfo, and is useful for accessing the field via an interface.
func (v *ArtifactFileURLsArtifactFilesFileConnection) GetPageInfo() ArtifactFileURLsArtifactFilesFileConnectionPageInfo {
	return v.PageInfo
}

// GetEdges returns ArtifactFileURLsArtifactFilesFileConnection.Edges, and is useful for accessing the field via an interface.
func (v *ArtifactFileURLsArtifactFilesFileConnection) GetEdges() []ArtifactFileURLsArtifactFilesFileConnectionEdgesFileEdge {
	return v.Edges
}

// ArtifactFileURLsArtifactFilesFileConnectionEdgesFileEdge includes the requested fields of the GraphQL type FileEdge.
type ArtifactFileURLsArtifactFilesFileConnectionEdgesFileEdge struct {
	Node *ArtifactFileURLsArtifactFilesFileConnectionEdgesFileEdgeNodeFile `json:"node"`
}

// GetNode returns ArtifactFileURLsArtifactFilesFileConnectionEdgesFileEdge.Node, and is useful for accessing the field via an interface.
func (v *ArtifactFileURLsArtifactFilesFileConnectionEdgesFileEdge) GetNode() *ArtifactFileURLsArtifactFilesFileConnectionEdgesFileEdgeNodeFile {
	return v.Node
}

// ArtifactFileURLsArtifactFilesFileConnectionEdgesFileEdgeNodeFile includes the requested fields of the GraphQL type File.
type ArtifactFileURLsArtifactFilesFileConnectionEdgesFileEdgeNodeFile struct {
	Name      string `json:"name"`
	DirectUrl string `json:"directUrl"`
}

// GetName returns ArtifactFileURLsArtifactFilesFileConnectionEdgesFileEdgeNodeFile.Name, and is useful for accessing the field via an interface.
func (v *ArtifactFileURLsArtifactFilesFileConnectionEdgesFileEdgeNodeFile) GetName() string {
	return v.Name
}

// GetDirectUrl returns ArtifactFileURLsArtifactFilesFileConnectionEdgesFileEdgeNodeFile.DirectUrl, and is useful for accessing the field via an interface.
func (v *ArtifactFileURLsArtifactFilesFileConnectionEdgesFileEdgeNodeFile) GetDirectUrl() string {
	return v.DirectUrl
}

// ArtifactFileURLsArtifactFilesFileConnectionPageInfo includes the requested fields of the GraphQL type PageInfo.
type ArtifactFileURLsArtifactFilesFileConnectionPageInfo struct {
	HasNextPage bool    `json:"hasNextPage"`
	EndCursor   *string `json:"endCursor"`
}

// GetHasNextPage returns ArtifactFileURLsArtifactFilesFileConnectionPageInfo.HasNextPage, and is useful for accessing the field via an interface.
func (v *ArtifactFileURLsArtifactFilesFileConnectionPageInfo) GetHasNextPage() bool {
	return v.HasNextPage
}

// GetEndCursor returns ArtifactFileURLsArtifactFilesFileConnectionPageInfo.EndCursor, and is useful for accessing the field via an interface.
func (v *ArtifactFileURLsArtifactFilesFileConnectionPageInfo) GetEndCursor() *string {
	return v.EndCursor
}

// ArtifactFileURLsResponse is returned by ArtifactFileURLs on success.
type ArtifactFileURLsResponse struct {
	Artifact *ArtifactFileURLsArtifact `json:"artifact"`
}

// GetArtifact returns ArtifactFileURLsResponse.Artifact, and is useful for accessing the field via an interface.
func (v *ArtifactFileURLsResponse) GetArtifact() *ArtifactFileURLsArtifact { return v.Artifact }

// ArtifactManifestArtifact includes the requested fields of the GraphQL type Artifact.
type ArtifactManifestArtifact struct {
	CurrentManifest *ArtifactManifestArtifactCurrentManifestArtifactManifest `json:"currentManifest"`
}

// GetCurrentManifest returns ArtifactManifestArtifact.CurrentManifest, and is useful for accessing the field via an interface.
func (v *ArtifactManifestArtifact) GetCurrentManifest() *ArtifactManifestArtifactCurrentManifestArtifactManifest {
	return v.CurrentManifest
}

// ArtifactManifestArtifactCurrentManifestArtifactManifest includes the requested fields of the GraphQL type ArtifactManifest.
type ArtifactManifestArtifactCurrentManifestArtifactManifest struct {
	File ArtifactManifestArtifactCurrentManifestArtifactManifestFile `json:"file"`
}

// GetFile returns ArtifactManifestArtifactCurrentManifestArtifactManifest.File, and is useful for accessing the field via an interface.
func (v *ArtifactManifestArtifactCurrentManifestArtifactManifest) GetFile() ArtifactManifestArtifactCurrentManifestArtifactManifestFile {
	return v.File
}

// ArtifactManifestArtifactCurrentManifestArtifactManifestFile includes the requested fields of the GraphQL type File.
type ArtifactManifestArtifactCurrentManifestArtifactManifestFile struct {
	DirectUrl string `json:"directUrl"`
}

// GetDirectUrl returns ArtifactManifestArtifactCurrentManifestArtifactManifestFile.DirectUrl, and is useful for accessing the field via an interface.
func (v *ArtifactManifestArtifactCurrentManifestArtifactManifestFile) GetDirectUrl() string {
	return v.DirectUrl
}

// ArtifactManifestResponse is returned by ArtifactManifest on success.
type ArtifactManifestResponse struct {
	Artifact *ArtifactManifestArtifact `json:"artifact"`
}

// GetArtifact returns ArtifactManifestResponse.Artifact, and is useful for accessing the field via an interface.
func (v *ArtifactManifestResponse) GetArtifact() *ArtifactManifestArtifact { return v.Artifact }

type ArtifactManifestType string

const (
	ArtifactManifestTypeFull        ArtifactManifestType = "FULL"
	ArtifactManifestTypePatch       ArtifactManifestType = "PATCH"
	ArtifactManifestTypeIncremental ArtifactManifestType = "INCREMENTAL"
)

type ArtifactState string

const (
	ArtifactStatePending   ArtifactState = "PENDING"
	ArtifactStateCommitted ArtifactState = "COMMITTED"
	ArtifactStateDeleted   ArtifactState = "DELETED"
)

type ArtifactStorageLayout string

const (
	ArtifactStorageLayoutV1 ArtifactStorageLayout = "V1"
	ArtifactStorageLayoutV2 ArtifactStorageLayout = "V2"
)

// ClientIDMappingClientIDMapping includes the requested fields of the GraphQL type ClientIDMapping.
type ClientIDMappingClientIDMapping struct {
	ServerID string `json:"serverID"`
}

// GetServerID returns ClientIDMappingClientIDMapping.ServerID, and is useful for accessing the field via an interface.
func (v *ClientIDMappingClientIDMapping) GetServerID() string { return v.ServerID }

// ClientIDMappingResponse is returned by ClientIDMapping on success.
type ClientIDMappingResponse struct {
	ClientIDMapping *ClientIDMappingClientIDMapping `json:"clientIDMapping"`
}

// GetClientIDMapping returns ClientIDMappingResponse.ClientIDMapping, and is useful for accessing the field via an interface.
func (v *ClientIDMappingResponse) GetClientIDMapping() *ClientIDMappingClientIDMapping {
	return v.ClientIDMapping
}

// CommitArtifactCommitArtifactCommitArtifactPayload includes the requested fields of the GraphQL type CommitArtifactPayload.
type CommitArtifactCommitArtifactCommitArtifactPayload struct {
	Artifact CommitArtifactCommitArtifactCommitArtifactPayloadArtifact `json:"artifact"`
}

// GetArtifact returns CommitArtifactCommitArtifactCommitArtifactPayload.Artifact, and is useful for accessing the field via an interface.
func (v *CommitArtifactCommitArtifactCommitArtifactPayload) GetArtifact() CommitArtifactCommitArtifactCommitArtifactPayloadArtifact {
	return v.Artifact
}

// CommitArtifactCommitArtifactCommitArtifactPayloadArtifact includes the requested fields of the GraphQL type Artifact.
type CommitArtifactCommitArtifactCommitArtifactPayloadArtifact struct {
	Id     string `json:"id"`
	Digest string `json:"digest"`
}

// GetId returns CommitArtifactCommitArtifactCommitArtifactPayloadArtifact.Id, and is useful for accessing the field via an interface.
func (v *CommitArtifactCommitArtifactCommitArtifactPayloadArtifact) GetId() string { return v.Id }

// GetDigest returns CommitArtifactCommitArtifactCommitArtifactPayloadArtifact.Digest, and is useful for accessing the field via an interface.
func (v *CommitArtifactCommitArtifactCommitArtifactPayloadArtifact) GetDigest() string {
	return v.Digest
}

// CommitArtifactResponse is returned by CommitArtifact on success.
type CommitArtifactResponse struct {
	CommitArtifact *CommitArtifactCommitArtifactCommitArtifactPayload `json:"commitArtifact"`
}

// GetCommitArtifact returns CommitArtifactResponse.CommitArtifact, and is useful for accessing the field via an interface.
func (v *CommitArtifactResponse) GetCommitArtifact() *CommitArtifactCommitArtifactCommitArtifactPayload {
	return v.CommitArtifact
}

// CreateArtifactCreateArtifactCreateArtifactPayload includes the requested fields of the GraphQL type CreateArtifactPayload.
type CreateArtifactCreateArtifactCreateArtifactPayload struct {
	Artifact CreateArtifactCreateArtifactCreateArtifactPayloadArtifact `json:"artifact"`
}

// GetArtifact returns CreateArtifactCreateArtifactCreateArtifactPayload.Artifact, and is useful for accessing the field via an interface.
func (v *CreateArtifactCreateArtifactCreateArtifactPayload) GetArtifact() CreateArtifactCreateArtifactCreateArtifactPayloadArtifact {
	return v.Artifact
}

// CreateArtifactCreateArtifactCreateArtifactPayloadArtifact includes the requested fields of the GraphQL type Artifact.
type CreateArtifactCreateArtifactCreateArtifactPayloadArtifact struct {
	Id               string                                                                    `json:"id"`
	State            ArtifactState                                                             `json:"state"`
	ArtifactSequence CreateArtifactCreateArtifactCreateArtifactPayloadArtifactArtifactSequence `json:"artifactSequence"`
}

// GetId returns CreateArtifactCreateArtifactCreateArtifactPayloadArtifact.Id, and is useful for accessing the field via an interface.
func (v *CreateArtifactCreateArtifactCreateArtifactPayloadArtifact) GetId() string { return v.Id }

// GetState returns CreateArtifactCreateArtifactCreateArtifactPayloadArtifact.State, and is useful for accessing the field via an interface.
func (v *CreateArtifactCreateArtifactCreateArtifactPayloadArtifact) GetState() ArtifactState {
	return v.State
}

// GetArtifactSequence returns CreateArtifactCreateArtifactCreateArtifactPayloadArtifact.ArtifactSequence, and is useful for accessing the field via an interface.
func (v *CreateArtifactCreateArtifactCreateArtifactPayloadArtifact) GetArtifactSequence() CreateArtifactCreateArtifactCreateArtifactPayloadArtifactArtifactSequence {
	return v.ArtifactSequence
}

// CreateArtifactCreateArtifactCreateArtifactPayloadArtifactArtifactSequence includes the requested fields of the GraphQL type ArtifactSequence.
type CreateArtifactCreateArtifactCreateArtifactPayloadArtifactArtifactSequence struct {
	LatestArtifact *CreateArtifactCreateArtifactCreateArtifactPayloadArtifactArtifactSequenceLatestArtifact `json:"latestArtifact"`
}

// GetLatestArtifact returns CreateArtifactCreateArtifactCreateArtifactPayloadArtifactArtifactSequence.LatestArtifact, and is useful for accessing the field via an interface.
func (v *CreateArtifactCreateArtifactCreateArtifactPayloadArtifactArtifactSequence) GetLatestArtifact() *CreateArtifactCreateArtifactCreateArtifactPayloadArtifactArtifactSequenceLatestArtifact {
	return v.LatestArtifact
}

// CreateArtifactCreateArtifactCreateArtifactPayloadArtifactArtifactSequenceLatestArtifact includes the requested fields of the GraphQL type Artifact.
type CreateArtifactCreateArtifactCreateArtifactPayloadArtifactArtifactSequenceLatestArtifact struct {
	Id string `json:"id"`
}

// GetId returns CreateArtifactCreateArtifactCreateArtifactPayloadArtifactArtifactSequenceLatestArtifact.Id, and is useful for accessing the field via an interface.
func (v *CreateArtifactCreateArtifactCreateArtifactPayloadArtifactArtifactSequenceLatestArtifact) GetId() string {
	return v.Id
}

type CreateArtifactFileSpecInput struct {
	ArtifactID         string             `json:"artifactID"`
	Name               string             `json:"name"`
	Md5                string             `json:"md5"`
	Mimetype           *string            `json:"mimetype"`
	ArtifactManifestID *string            `json:"artifactManifestID"`
	UploadPartsInput   []UploadPartsInput `json:"uploadPartsInput"`
}

// GetArtifactID returns CreateArtifactFileSpecInput.ArtifactID, and is useful for accessing the field via an interface.
func (v *CreateArtifactFileSpecInput) GetArtifactID() string { return v.ArtifactID }

// GetName returns CreateArtifactFileSpecInput.Name, and is useful for accessing the field via an interface.
func (v *CreateArtifactFileSpecInput) GetName() string { return v.Name }

// GetMd5 returns CreateArtifactFileSpecInput.Md5, and is useful for accessing the field via an interface.
func (v *CreateArtifactFileSpecInput) GetMd5() string { return v.Md5 }

// GetMimetype returns CreateArtifactFileSpecInput.Mimetype, and is useful for accessing the field via an interface.
func (v *CreateArtifactFileSpecInput) GetMimetype() *string { return v.Mimetype }

// GetArtifactManifestID returns CreateArtifactFileSpecInput.ArtifactManifestID, and is useful for accessing the field via an interface.
func (v *CreateArtifactFileSpecInput) GetArtifactManifestID() *string { return v.ArtifactManifestID }

// GetUploadPartsInput returns CreateArtifactFileSpecInput.UploadPartsInput, and is useful for accessing the field via an interface.
func (v *CreateArtifactFileSpecInput) GetUploadPartsInput() []UploadPartsInput {
	return v.UploadPartsInput
}

// CreateArtifactFilesCreateArtifactFilesCreateArtifactFilesPayload includes the requested fields of the GraphQL type CreateArtifactFilesPayload.
type CreateArtifactFilesCreateArtifactFilesCreateArtifactFilesPayload struct {
	Files CreateArtifactFilesCreateArtifactFilesCreateArtifactFilesPayloadFilesFileConnection `json:"files"`
}

// GetFiles returns CreateArtifactFilesCreateArtifactFilesCreateArtifactFilesPayload.Files, and is useful for accessing the field via an interface.
func (v *CreateArtifactFilesCreateArtifactFilesCreateArtifactFilesPayload) GetFiles() CreateArtifactFilesCreateArtifactFilesCreateArtifactFilesPayloadFilesFileConnection {
	return v.Files
}

// CreateArtifactFilesCreateArtifactFilesCreateArtifactFilesPayloadFilesFileConnection includes the requested fields of the GraphQL type FileConnection.
type CreateArtifactFilesCreateArtifactFilesCreateArtifactFilesPayloadFilesFileConnection struct {
	Edges []CreateArtifactFilesCreateArtifactFilesCreateArtifactFilesPayloadFilesFileConnectionEdgesFileEdge `json:"edges"`
}

// GetEdges returns CreateArtifactFilesCreateArtifactFilesCreateArtifactFilesPayloadFilesFileConnection.Edges, and is useful for accessing the field via an interface.
func (v *CreateArtifactFilesCreateArtifactFilesCreateArtifactFilesPayloadFilesFileConnection) GetEdges() []CreateArtifactFilesCreateArtifactFilesCreateArtifactFilesPayloadFilesFileConnectionEdgesFileEdge {
	return v.Edges
}

// CreateArtifactFilesCreateArtifactFilesCreateArtifactFilesPayloadFilesFileConnectionEdgesFileEdge includes the requested fields of the GraphQL type FileEdge.
type CreateArtifactFilesCreateArtifactFilesCreateArtifactFilesPayloadFilesFileConnectionEdgesFileEdge struct {
	Node *CreateArtifactFilesCreateArtifactFilesCreateArtifactFilesPayloadFilesFileConnectionEdgesFileEdgeNodeFile `json:"node"`
}

// GetNode returns CreateArtifactFilesCreateArtifactFilesCreateArtifactFilesPayloadFilesFileConnectionEdgesFileEdge.Node, and is useful for accessing the field via an interface.
func (v *CreateArtifactFilesCreateArtifactFilesCreateArtifactFilesPayloadFilesFileConnectionEdgesFileEdge) GetNode() *CreateArtifactFilesCreateArtifactFilesCreateArtifactFilesPayloadFilesFileConnectionEdgesFileEdgeNodeFile {
	return v.Node
}

// CreateArtifactFilesCreateArtifactFilesCreateArtifactFilesPayloadFilesFileConnectionEdgesFileEdgeNodeFile includes the requested fields of the GraphQL type File.
type CreateArtifactFilesCreateArtifactFilesCreateArtifactFilesPayloadFilesFileConnectionEdgesFileEdgeNodeFile struct {
	UploadUrl     *string                                                                                                           `json:"uploadUrl"`
	UploadHeaders []string                                                                                                          `json:"uploadHeaders"`
	Artifact      *CreateArtifactFilesCreateArtifactFilesCreateArtifactFilesPayloadFilesFileConnectionEdgesFileEdgeNodeFileArtifact `json:"artifact"`
}

// GetUploadUrl returns CreateArtifactFilesCreateArtifactFilesCreateArtifactFilesPayloadFilesFileConnectionEdgesFileEdgeNodeFile.UploadUrl, and is useful for accessing the field via an interface.
func (v *CreateArtifactFilesCreateArtifactFilesCreateArtifactFilesPayloadFilesFileConnectionEdgesFileEdgeNodeFile) GetUploadUrl() *string {
	return v.UploadUrl
}

// GetUploadHeaders returns CreateArtifactFilesCreateArtifactFilesCreateArtifactFilesPayloadFilesFileConnectionEdgesFileEdgeNodeFile.UploadHeaders, and is useful for accessing the field via an interface.
func (v *CreateArtifactFilesCreateArtifactFilesCreateArtifactFilesPayloadFilesFileConnectionEdgesFileEdgeNodeFile) GetUploadHeaders() []string {
	return v.UploadHeaders
}

// GetArtifact returns CreateArtifactFilesCreateArtifactFilesCreateArtifactFilesPayloadFilesFileConnectionEdgesFileEdgeNodeFile.Artifact, and is useful for accessing the field via an interface.
func (v *CreateArtifactFilesCreateArtifactFilesCreateArtifactFilesPayloadFilesFileConnectionEdgesFileEdgeNodeFile) GetArtifact() *CreateArtifactFilesCreateArtifactFilesCreateArtifactFilesPayloadFilesFileConnectionEdgesFileEdgeNodeFileArtifact {
	return v.Artifact
}

// CreateArtifactFilesCreateArtifactFilesCreateArtifactFilesPayloadFilesFileConnectionEdgesFileEdgeNodeFileArtifact includes the requested fields of the GraphQL type Artifact.
type CreateArtifactFilesCreateArtifactFilesCreateArtifactFilesPayloadFilesFileConnectionEdgesFileEdgeNodeFileArtifact struct {
	Id string `json:"id"`
}

// GetId returns CreateArtifactFilesCreateArtifactFilesCreateArtifactFilesPayloadFilesFileConnectionEdgesFileEdgeNodeFileArtifact.Id, and is useful for accessing the field via an interface.
func (v *CreateArtifactFilesCreateArtifactFilesCreateArtifactFilesPayloadFilesFileConnectionEdgesFileEdgeNodeFileArtifact) GetId() string {
	return v.Id
}

// CreateArtifactFilesResponse is returned by CreateArtifactFiles on success.
type CreateArtifactFilesResponse struct {
	CreateArtifactFiles *CreateArtifactFilesCreateArtifactFilesCreateArtifactFilesPayload `json:"createArtifactFiles"`
}

// GetCreateArtifactFiles returns CreateArtifactFilesResponse.CreateArtifactFiles, and is useful for accessing the field via an interface.
func (v *CreateArtifactFilesResponse) GetCreateArtifactFiles() *CreateArtifactFilesCreateArtifactFilesCreateArtifactFilesPayload {
	return v.CreateArtifactFiles
}

// CreateArtifactManifestCreateArtifactManifestCreateArtifactManifestPayload includes the requested fields of the GraphQL type CreateArtifactManifestPayload.
type CreateArtifactManifestCreateArtifactManifestCreateArtifactManifestPayload struct {
	ArtifactManifest CreateArtifactManifestCreateArtifactManifestCreateArtifactManifestPayloadArtifactManifest `json:"artifactManifest"`
}

// GetArtifactManifest returns CreateArtifactManifestCreateArtifactManifestCreateArtifactManifestPayload.ArtifactManifest, and is useful for accessing the field via an interface.
func (v *CreateArtifactManifestCreateArtifactManifestCreateArtifactManifestPayload) GetArtifactManifest() CreateArtifactManifestCreateArtifactManifestCreateArtifactManifestPayloadArtifactManifest {
	return v.ArtifactManifest
}

// CreateArtifactManifestCreateArtifactManifestCreateArtifactManifestPayloadArtifactManifest includes the requested fields of the GraphQL type ArtifactManifest.
type CreateArtifactManifestCreateArtifactManifestCreateArtifactManifestPayloadArtifactManifest struct {
	Id   string                                                                                        `json:"id"`
	File CreateArtifactManifestCreateArtifactManifestCreateArtifactManifestPayloadArtifactManifestFile `json:"file"`
}

// GetId returns CreateArtifactManifestCreateArtifactManifestCreateArtifactManifestPayloadArtifactManifest.Id, and is useful for accessing the field via an interface.
func (v *CreateArtifactManifestCreateArtifactManifestCreateArtifactManifestPayloadArtifactManifest) GetId() string {
	return v.Id
}

// GetFile returns CreateArtifactManifestCreateArtifactManifestCreateArtifactManifestPayloadArtifactManifest.File, and is useful for accessing the field via an interface.
func (v *CreateArtifactManifestCreateArtifactManifestCreateArtifactManifestPayloadArtifactManifest) GetFile() CreateArtifactManifestCreateArtifactManifestCreateArtifactManifestPayloadArtifactManifestFile {
	return v.File
}

// CreateArtifactManifestCreateArtifactManifestCreateArtifactManifestPayloadArtifactManifestFile includes the requested fields of the GraphQL type File.
type CreateArtifactManifestCreateArtifactManifestCreateArtifactManifestPayloadArtifactManifestFile struct {
	Id            string   `json:"id"`
	UploadUrl     *string  `json:"uploadUrl"`
	UploadHeaders []string `json:"uploadHeaders"`
}

// GetId returns CreateArtifactManifestCreateArtifactManifestCreateArtifactManifestPayloadArtifactManifestFile.Id, and is useful for accessing the field via an interface.
func (v *CreateArtifactManifestCreateArtifactManifestCreateArtifactManifestPayloadArtifactManifestFile) GetId() string {
	return v.Id
}

// GetUploadUrl returns CreateArtifactManifestCreateArtifactManifestCreateArtifactManifestPayloadArtifactManifestFile.UploadUrl, and is useful for accessing the field via an interface.
func (v *CreateArtifactManifestCreateArtifactManifestCreateArtifactManifestPayloadArtifactManifestFile) GetUploadUrl() *string {
	return v.UploadUrl
}

// GetUploadHeaders returns CreateArtifactManifestCreateArtifactManifestCreateArtifactManifestPayloadArtifactManifestFile.UploadHeaders, and is useful for accessing the field via an interface.
func (v *CreateArtifactManifestCreateArtifactManifestCreateArtifactManifestPayloadArtifactManifestFile) GetUploadHeaders() []string {
	return v.UploadHeaders
}

// CreateArtifactManifestResponse is returned by CreateArtifactManifest on success.
type CreateArtifactManifestResponse struct {
	CreateArtifactManifest *CreateArtifactManifestCreateArtifactManifestCreateArtifactManifestPayload `json:"createArtifactManifest"`
}

// GetCreateArtifactManifest returns CreateArtifactManifestResponse.CreateArtifactManifest, and is useful for accessing the field via an interface.
func (v *CreateArtifactManifestResponse) GetCreateArtifactManifest() *CreateArtifactManifestCreateArtifactManifestCreateArtifactManifestPayload {
	return v.CreateArtifactManifest
}

// CreateArtifactResponse is returned by CreateArtifact on success.
type CreateArtifactResponse struct {
	CreateArtifact *CreateArtifactCreateArtifactCreateArtifactPayload `json:"createArtifact"`
}

// GetCreateArtifact returns CreateArtifactResponse.CreateArtifact, and is useful for accessing the field via an interface.
func (v *CreateArtifactResponse) GetCreateArtifact() *CreateArtifactCreateArtifactCreateArtifactPayload {
	return v.CreateArtifact
}

// CreateRunFilesCreateRunFilesCreateRunFilesPayload includes the requested fields of the GraphQL type CreateRunFilesPayload.
type CreateRunFilesCreateRunFilesCreateRunFilesPayload struct {
	RunID         string                                                       `json:"runID"`
	UploadHeaders []string                                                     `json:"uploadHeaders"`
	Files         []CreateRunFilesCreateRunFilesCreateRunFilesPayloadFilesFile `json:"files"`
}

// GetRunID returns CreateRunFilesCreateRunFilesCreateRunFilesPayload.RunID, and is useful for accessing the field via an interface.
func (v *CreateRunFilesCreateRunFilesCreateRunFilesPayload) GetRunID() string { return v.RunID }

// GetUploadHeaders returns CreateRunFilesCreateRunFilesCreateRunFilesPayload.UploadHeaders, and is useful for accessing the field via an interface.
func (v *CreateRunFilesCreateRunFilesCreateRunFilesPayload) GetUploadHeaders() []string {
	return v.UploadHeaders
}

// GetFiles returns CreateRunFilesCreateRunFilesCreateRunFilesPayload.Files, and is useful for accessing the field via an interface.
func (v *CreateRunFilesCreateRunFilesCreateRunFilesPayload) GetFiles() []CreateRunFilesCreateRunFilesCreateRunFilesPayloadFilesFile {
	return v.Files
}

// CreateRunFilesCreateRunFilesCreateRunFilesPayloadFilesFile includes the requested fields of the GraphQL type File.
type CreateRunFilesCreateRunFilesCreateRunFilesPayloadFilesFile struct {
	Name      string  `json:"name"`
	UploadUrl *string `json:"uploadUrl"`
}

// GetName returns CreateRunFilesCreateRunFilesCreateRunFilesPayloadFilesFile.Name, and is useful for accessing the field via an interface.
func (v *CreateRunFilesCreateRunFilesCreateRunFilesPayloadFilesFile) GetName() string { return v.Name }

// GetUploadUrl returns CreateRunFilesCreateRunFilesCreateRunFilesPayloadFilesFile.UploadUrl, and is useful for accessing the field via an interface.
func (v *CreateRunFilesCreateRunFilesCreateRunFilesPayloadFilesFile) GetUploadUrl() *string {
	return v.UploadUrl
}

// CreateRunFilesResponse is returned by CreateRunFiles on success.
type CreateRunFilesResponse struct {
	CreateRunFiles *CreateRunFilesCreateRunFilesCreateRunFilesPayload `json:"createRunFiles"`
}

// GetCreateRunFiles returns CreateRunFilesResponse.CreateRunFiles, and is useful for accessing the field via an interface.
func (v *CreateRunFilesResponse) GetCreateRunFiles() *CreateRunFilesCreateRunFilesCreateRunFilesPayload {
	return v.CreateRunFiles
}

// LinkArtifactLinkArtifactLinkArtifactPayload includes the requested fields of the GraphQL type LinkArtifactPayload.
type LinkArtifactLinkArtifactLinkArtifactPayload struct {
	VersionIndex *int `json:"versionIndex"`
}

// GetVersionIndex returns LinkArtifactLinkArtifactLinkArtifactPayload.VersionIndex, and is useful for accessing the field via an interface.
func (v *LinkArtifactLinkArtifactLinkArtifactPayload) GetVersionIndex() *int { return v.VersionIndex }

// LinkArtifactResponse is returned by LinkArtifact on success.
type LinkArtifactResponse struct {
	LinkArtifact *LinkArtifactLinkArtifactLinkArtifactPayload `json:"linkArtifact"`
}

// GetLinkArtifact returns LinkArtifactResponse.LinkArtifact, and is useful for accessing the field via an interface.
func (v *LinkArtifactResponse) GetLinkArtifact() *LinkArtifactLinkArtifactLinkArtifactPayload {
	return v.LinkArtifact
}

// NotifyScriptableRunAlertNotifyScriptableRunAlertNotifyScriptableRunAlertPayload includes the requested fields of the GraphQL type NotifyScriptableRunAlertPayload.
type NotifyScriptableRunAlertNotifyScriptableRunAlertNotifyScriptableRunAlertPayload struct {
	Success bool `json:"success"`
}

// GetSuccess returns NotifyScriptableRunAlertNotifyScriptableRunAlertNotifyScriptableRunAlertPayload.Success, and is useful for accessing the field via an interface.
func (v *NotifyScriptableRunAlertNotifyScriptableRunAlertNotifyScriptableRunAlertPayload) GetSuccess() bool {
	return v.Success
}

// NotifyScriptableRunAlertResponse is returned by NotifyScriptableRunAlert on success.
type NotifyScriptableRunAlertResponse struct {
	NotifyScriptableRunAlert *NotifyScriptableRunAlertNotifyScriptableRunAlertNotifyScriptableRunAlertPayload `json:"notifyScriptableRunAlert"`
}

// GetNotifyScriptableRunAlert returns NotifyScriptableRunAlertResponse.NotifyScriptableRunAlert, and is useful for accessing the field via an interface.
func (v *NotifyScriptableRunAlertResponse) GetNotifyScriptableRunAlert() *NotifyScriptableRunAlertNotifyScriptableRunAlertNotifyScriptableRunAlertPayload {
	return v.NotifyScriptableRunAlert
}

// RunResumeStatusModelProject includes the requested fields of the GraphQL type Project.
type RunResumeStatusModelProject struct {
	Id     string                                `json:"id"`
	Name   string                                `json:"name"`
	Entity RunResumeStatusModelProjectEntity     `json:"entity"`
	Bucket *RunResumeStatusModelProjectBucketRun `json:"bucket"`
}

// GetId returns RunResumeStatusModelProject.Id, and is useful for accessing the field via an interface.
func (v *RunResumeStatusModelProject) GetId() string { return v.Id }

// GetName returns RunResumeStatusModelProject.Name, and is useful for accessing the field via an interface.
func (v *RunResumeStatusModelProject) GetName() string { return v.Name }

// GetEntity returns RunResumeStatusModelProject.Entity, and is useful for accessing the field via an interface.
func (v *RunResumeStatusModelProject) GetEntity() RunResumeStatusModelProjectEntity { return v.Entity }

// GetBucket returns RunResumeStatusModelProject.Bucket, and is useful for accessing the field via an interface.
func (v *RunResumeStatusModelProject) GetBucket() *RunResumeStatusModelProjectBucketRun {
	return v.Bucket
}

// RunResumeStatusModelProjectBucketRun includes the requested fields of the GraphQL type Run.
type RunResumeStatusModelProjectBucketRun struct {
	Id               string   `json:"id"`
	Name             string   `json:"name"`
	SummaryMetrics   *string  `json:"summaryMetrics"`
	DisplayName      *string  `json:"displayName"`
	LogLineCount     *int     `json:"logLineCount"`
	HistoryLineCount *int     `json:"historyLineCount"`
	EventsLineCount  *int     `json:"eventsLineCount"`
	HistoryTail      *string  `json:"historyTail"`
	EventsTail       *string  `json:"eventsTail"`
	Config           *string  `json:"config"`
	Tags             []string `json:"tags"`
}

// GetId returns RunResumeStatusModelProjectBucketRun.Id, and is useful for accessing the field via an interface.
func (v *RunResumeStatusModelProjectBucketRun) GetId() string { return v.Id }

// GetName returns RunResumeStatusModelProjectBucketRun.Name, and is useful for accessing the field via an interface.
func (v *RunResumeStatusModelProjectBucketRun) GetName() string { return v.Name }

// GetSummaryMetrics returns RunResumeStatusModelProjectBucketRun.SummaryMetrics, and is useful for accessing the field via an interface.
func (v *RunResumeStatusModelProjectBucketRun) GetSummaryMetrics() *string { return v.SummaryMetrics }

// GetDisplayName returns RunResumeStatusModelProjectBucketRun.DisplayName, and is useful for accessing the field via an interface.
func (v *RunResumeStatusModelProjectBucketRun) GetDisplayName() *string { return v.DisplayName }

// GetLogLineCount returns RunResumeStatusModelProjectBucketRun.LogLineCount, and is useful for accessing the field via an interface.
func (v *RunResumeStatusModelProjectBucketRun) GetLogLineCount() *int { return v.LogLineCount }

// GetHistoryLineCount returns RunResumeStatusModelProjectBucketRun.HistoryLineCount, and is useful for accessing the field via an interface.
func (v *RunResumeStatusModelProjectBucketRun) GetHistoryLineCount() *int { return v.HistoryLineCount }

// GetEventsLineCount returns RunResumeStatusModelProjectBucketRun.EventsLineCount, and is useful for accessing the field via an interface.
func (v *RunResumeStatusModelProjectBucketRun) GetEventsLineCount() *int { return v.EventsLineCount }

// GetHistoryTail returns RunResumeStatusModelProjectBucketRun.HistoryTail, and is useful for accessing the field via an interface.
func (v *RunResumeStatusModelProjectBucketRun) GetHistoryTail() *string { return v.HistoryTail }

// GetEventsTail returns RunResumeStatusModelProjectBucketRun.EventsTail, and is useful for accessing the field via an interface.
func (v *RunResumeStatusModelProjectBucketRun) GetEventsTail() *string { return v.EventsTail }

// GetConfig returns RunResumeStatusModelProjectBucketRun.Config, and is useful for accessing the field via an interface.
func (v *RunResumeStatusModelProjectBucketRun) GetConfig() *string { return v.Config }

// GetTags returns RunResumeStatusModelProjectBucketRun.Tags, and is useful for accessing the field via an interface.
func (v *RunResumeStatusModelProjectBucketRun) GetTags() []string { return v.Tags }

// RunResumeStatusModelProjectEntity includes the requested fields of the GraphQL type Entity.
type RunResumeStatusModelProjectEntity struct {
	Id   string `json:"id"`
	Name string `json:"name"`
}

// GetId returns RunResumeStatusModelProjectEntity.Id, and is useful for accessing the field via an interface.
func (v *RunResumeStatusModelProjectEntity) GetId() string { return v.Id }

// GetName returns RunResumeStatusModelProjectEntity.Name, and is useful for accessing the field via an interface.
func (v *RunResumeStatusModelProjectEntity) GetName() string { return v.Name }

// RunResumeStatusResponse is returned by RunResumeStatus on success.
type RunResumeStatusResponse struct {
	Model *RunResumeStatusModelProject `json:"model"`
}

// GetModel returns RunResumeStatusResponse.Model, and is useful for accessing the field via an interface.
func (v *RunResumeStatusResponse) GetModel() *RunResumeStatusModelProject { return v.Model }

// ServerInfoResponse is returned by ServerInfo on success.
type ServerInfoResponse struct {
	ServerInfo *ServerInfoServerInfo `json:"serverInfo"`
}

// GetServerInfo returns ServerInfoResponse.ServerInfo, and is useful for accessing the field via an interface.
func (v *ServerInfoResponse) GetServerInfo() *ServerInfoServerInfo { return v.ServerInfo }

// ServerInfoServerInfo includes the requested fields of the GraphQL type ServerInfo.
type ServerInfoServerInfo struct {
	CliVersionInfo         interface{}                                 `json:"cliVersionInfo"`
	LatestLocalVersionInfo *ServerInfoServerInfoLatestLocalVersionInfo `json:"latestLocalVersionInfo"`
}

// GetCliVersionInfo returns ServerInfoServerInfo.CliVersionInfo, and is useful for accessing the field via an interface.
func (v *ServerInfoServerInfo) GetCliVersionInfo() interface{} { return v.CliVersionInfo }

// GetLatestLocalVersionInfo returns ServerInfoServerInfo.LatestLocalVersionInfo, and is useful for accessing the field via an interface.
func (v *ServerInfoServerInfo) GetLatestLocalVersionInfo() *ServerInfoServerInfoLatestLocalVersionInfo {
	return v.LatestLocalVersionInfo
}

// ServerInfoServerInfoLatestLocalVersionInfo includes the requested fields of the GraphQL type LocalVersionInfo.
type ServerInfoServerInfoLatestLocalVersionInfo struct {
	OutOfDate                   bool   `json:"outOfDate"`
	LatestVersionString         string `json:"latestVersionString"`
	VersionOnThisInstanceString string `json:"versionOnThisInstanceString"`
}

// GetOutOfDate returns ServerInfoServerInfoLatestLocalVersionInfo.OutOfDate, and is useful for accessing the field via an interface.
func (v *ServerInfoServerInfoLatestLocalVersionInfo) GetOutOfDate() bool { return v.OutOfDate }

// GetLatestVersionString returns ServerInfoServerInfoLatestLocalVersionInfo.LatestVersionString, and is useful for accessing the field via an interface.
func (v *ServerInfoServerInfoLatestLocalVersionInfo) GetLatestVersionString() string {
	return v.LatestVersionString
}

// GetVersionOnThisInstanceString returns ServerInfoServerInfoLatestLocalVersionInfo.VersionOnThisInstanceString, and is useful for accessing the field via an interface.
func (v *ServerInfoServerInfoLatestLocalVersionInfo) GetVersionOnThisInstanceString() string {
	return v.VersionOnThisInstanceString
}

type UploadPartsInput struct {
	PartNumber int64  `json:"partNumber"`
	HexMD5     string `json:"hexMD5"`
}

// GetPartNumber returns UploadPartsInput.PartNumber, and is useful for accessing the field via an interface.
func (v *UploadPartsInput) GetPartNumber() int64 { return v.PartNumber }

// GetHexMD5 returns UploadPartsInput.HexMD5, and is useful for accessing the field via an interface.
func (v *UploadPartsInput) GetHexMD5() string { return v.HexMD5 }

// UpsertBucketResponse is returned by UpsertBucket on success.
type UpsertBucketResponse struct {
	UpsertBucket *UpsertBucketUpsertBucketUpsertBucketPayload `json:"upsertBucket"`
}

// GetUpsertBucket returns UpsertBucketResponse.UpsertBucket, and is useful for accessing the field via an interface.
func (v *UpsertBucketResponse) GetUpsertBucket() *UpsertBucketUpsertBucketUpsertBucketPayload {
	return v.UpsertBucket
}

// UpsertBucketUpsertBucketUpsertBucketPayload includes the requested fields of the GraphQL type UpsertBucketPayload.
type UpsertBucketUpsertBucketUpsertBucketPayload struct {
	Bucket   *UpsertBucketUpsertBucketUpsertBucketPayloadBucketRun `json:"bucket"`
	Inserted *bool                                                 `json:"inserted"`
}

// GetBucket returns UpsertBucketUpsertBucketUpsertBucketPayload.Bucket, and is useful for accessing the field via an interface.
func (v *UpsertBucketUpsertBucketUpsertBucketPayload) GetBucket() *UpsertBucketUpsertBucketUpsertBucketPayloadBucketRun {
	return v.Bucket
}

// GetInserted returns UpsertBucketUpsertBucketUpsertBucketPayload.Inserted, and is useful for accessing the field via an interface.
func (v *UpsertBucketUpsertBucketUpsertBucketPayload) GetInserted() *bool { return v.Inserted }

// UpsertBucketUpsertBucketUpsertBucketPayloadBucketRun includes the requested fields of the GraphQL type Run.
type UpsertBucketUpsertBucketUpsertBucketPayloadBucketRun struct {
	Id          string                                                       `json:"id"`
	Name        string                                                       `json:"name"`
	DisplayName *string                                                      `json:"displayName"`
	Description *string                                                      `json:"description"`
	Config      *string                                                      `json:"config"`
	SweepName   *string                                                      `json:"sweepName"`
	Project     *UpsertBucketUpsertBucketUpsertBucketPayloadBucketRunProject `json:"project"`
}

// GetId returns UpsertBucketUpsertBucketUpsertBucketPayloadBucketRun.Id, and is useful for accessing the field via an interface.
func (v *UpsertBucketUpsertBucketUpsertBucketPayloadBucketRun) GetId() string { return v.Id }

// GetName returns UpsertBucketUpsertBucketUpsertBucketPayloadBucketRun.Name, and is useful for accessing the field via an interface.
func (v *UpsertBucketUpsertBucketUpsertBucketPayloadBucketRun) GetName() string { return v.Name }

// GetDisplayName returns UpsertBucketUpsertBucketUpsertBucketPayloadBucketRun.DisplayName, and is useful for accessing the field via an interface.
func (v *UpsertBucketUpsertBucketUpsertBucketPayloadBucketRun) GetDisplayName() *string {
	return v.DisplayName
}

// GetDescription returns UpsertBucketUpsertBucketUpsertBucketPayloadBucketRun.Description, and is useful for accessing the field via an interface.
func (v *UpsertBucketUpsertBucketUpsertBucketPayloadBucketRun) GetDescription() *string {
	return v.Description
}

// GetConfig returns UpsertBucketUpsertBucketUpsertBucketPayloadBucketRun.Config, and is useful for accessing the field via an interface.
func (v *UpsertBucketUpsertBucketUpsertBucketPayloadBucketRun) GetConfig() *string { return v.Config }

// GetSweepName returns UpsertBucketUpsertBucketUpsertBucketPayloadBucketRun.SweepName, and is useful for accessing the field via an interface.
func (v *UpsertBucketUpsertBucketUpsertBucketPayloadBucketRun) GetSweepName() *string {
	return v.SweepName
}

// GetProject returns UpsertBucketUpsertBucketUpsertBucketPayloadBucketRun.Project, and is useful for accessing the field via an interface.
func (v *UpsertBucketUpsertBucketUpsertBucketPayloadBucketRun) GetProject() *UpsertBucketUpsertBucketUpsertBucketPayloadBucketRunProject {
	return v.Project
}

// UpsertBucketUpsertBucketUpsertBucketPayloadBucketRunProject includes the requested fields of the GraphQL type Project.
type UpsertBucketUpsertBucketUpsertBucketPayloadBucketRunProject struct {
	Id     string                                                            `json:"id"`
	Name   string                                                            `json:"name"`
	Entity UpsertBucketUpsertBucketUpsertBucketPayloadBucketRunProjectEntity `json:"entity"`
}

// GetId returns UpsertBucketUpsertBucketUpsertBucketPayloadBucketRunProject.Id, and is useful for accessing the field via an interface.
func (v *UpsertBucketUpsertBucketUpsertBucketPayloadBucketRunProject) GetId() string { return v.Id }

// GetName returns UpsertBucketUpsertBucketUpsertBucketPayloadBucketRunProject.Name, and is useful for accessing the field via an interface.
func (v *UpsertBucketUpsertBucketUpsertBucketPayloadBucketRunProject) GetName() string { return v.Name }

// GetEntity returns UpsertBucketUpsertBucketUpsertBucketPayloadBucketRunProject.Entity, and is useful for accessing the field via an interface.
func (v *UpsertBucketUpsertBucketUpsertBucketPayloadBucketRunProject) GetEntity() UpsertBucketUpsertBucketUpsertBucketPayloadBucketRunProjectEntity {
	return v.Entity
}

// UpsertBucketUpsertBucketUpsertBucketPayloadBucketRunProjectEntity includes the requested fields of the GraphQL type Entity.
type UpsertBucketUpsertBucketUpsertBucketPayloadBucketRunProjectEntity struct {
	Id   string `json:"id"`
	Name string `json:"name"`
}

// GetId returns UpsertBucketUpsertBucketUpsertBucketPayloadBucketRunProjectEntity.Id, and is useful for accessing the field via an interface.
func (v *UpsertBucketUpsertBucketUpsertBucketPayloadBucketRunProjectEntity) GetId() string {
	return v.Id
}

// GetName returns UpsertBucketUpsertBucketUpsertBucketPayloadBucketRunProjectEntity.Name, and is useful for accessing the field via an interface.
func (v *UpsertBucketUpsertBucketUpsertBucketPayloadBucketRunProjectEntity) GetName() string {
	return v.Name
}

// UseArtifactResponse is returned by UseArtifact on success.
type UseArtifactResponse struct {
	UseArtifact *UseArtifactUseArtifactUseArtifactPayload `json:"useArtifact"`
}

// GetUseArtifact returns UseArtifactResponse.UseArtifact, and is useful for accessing the field via an interface.
func (v *UseArtifactResponse) GetUseArtifact() *UseArtifactUseArtifactUseArtifactPayload {
	return v.UseArtifact
}

// UseArtifactUseArtifactUseArtifactPayload includes the requested fields of the GraphQL type UseArtifactPayload.
type UseArtifactUseArtifactUseArtifactPayload struct {
	Artifact UseArtifactUseArtifactUseArtifactPayloadArtifact `json:"artifact"`
}

// GetArtifact returns UseArtifactUseArtifactUseArtifactPayload.Artifact, and is useful for accessing the field via an interface.
func (v *UseArtifactUseArtifactUseArtifactPayload) GetArtifact() UseArtifactUseArtifactUseArtifactPayloadArtifact {
	return v.Artifact
}

// UseArtifactUseArtifactUseArtifactPayloadArtifact includes the requested fields of the GraphQL type Artifact.
type UseArtifactUseArtifactUseArtifactPayloadArtifact struct {
	Id string `json:"id"`
}

// GetId returns UseArtifactUseArtifactUseArtifactPayloadArtifact.Id, and is useful for accessing the field via an interface.
func (v *UseArtifactUseArtifactUseArtifactPayloadArtifact) GetId() string { return v.Id }

// ViewerResponse is returned by Viewer on success.
type ViewerResponse struct {
	Viewer *ViewerViewerUser `json:"viewer"`
}

// GetViewer returns ViewerResponse.Viewer, and is useful for accessing the field via an interface.
func (v *ViewerResponse) GetViewer() *ViewerViewerUser { return v.Viewer }

// ViewerViewerUser includes the requested fields of the GraphQL type User.
type ViewerViewerUser struct {
	Id     string                                 `json:"id"`
	Entity *string                                `json:"entity"`
	Flags  *string                                `json:"flags"`
	Teams  *ViewerViewerUserTeamsEntityConnection `json:"teams"`
}

// GetId returns ViewerViewerUser.Id, and is useful for accessing the field via an interface.
func (v *ViewerViewerUser) GetId() string { return v.Id }

// GetEntity returns ViewerViewerUser.Entity, and is useful for accessing the field via an interface.
func (v *ViewerViewerUser) GetEntity() *string { return v.Entity }

// GetFlags returns ViewerViewerUser.Flags, and is useful for accessing the field via an interface.
func (v *ViewerViewerUser) GetFlags() *string { return v.Flags }

// GetTeams returns ViewerViewerUser.Teams, and is useful for accessing the field via an interface.
func (v *ViewerViewerUser) GetTeams() *ViewerViewerUserTeamsEntityConnection { return v.Teams }

// ViewerViewerUserTeamsEntityConnection includes the requested fields of the GraphQL type EntityConnection.
type ViewerViewerUserTeamsEntityConnection struct {
	Edges []ViewerViewerUserTeamsEntityConnectionEdgesEntityEdge `json:"edges"`
}

// GetEdges returns ViewerViewerUserTeamsEntityConnection.Edges, and is useful for accessing the field via an interface.
func (v *ViewerViewerUserTeamsEntityConnection) GetEdges() []ViewerViewerUserTeamsEntityConnectionEdgesEntityEdge {
	return v.Edges
}

// ViewerViewerUserTeamsEntityConnectionEdgesEntityEdge includes the requested fields of the GraphQL type EntityEdge.
type ViewerViewerUserTeamsEntityConnectionEdgesEntityEdge struct {
	Node *ViewerViewerUserTeamsEntityConnectionEdgesEntityEdgeNodeEntity `json:"node"`
}

// GetNode returns ViewerViewerUserTeamsEntityConnectionEdgesEntityEdge.Node, and is useful for accessing the field via an interface.
func (v *ViewerViewerUserTeamsEntityConnectionEdgesEntityEdge) GetNode() *ViewerViewerUserTeamsEntityConnectionEdgesEntityEdgeNodeEntity {
	return v.Node
}

// ViewerViewerUserTeamsEntityConnectionEdgesEntityEdgeNodeEntity includes the requested fields of the GraphQL type Entity.
type ViewerViewerUserTeamsEntityConnectionEdgesEntityEdgeNodeEntity struct {
	Name string `json:"name"`
}

// GetName returns ViewerViewerUserTeamsEntityConnectionEdgesEntityEdgeNodeEntity.Name, and is useful for accessing the field via an interface.
func (v *ViewerViewerUserTeamsEntityConnectionEdgesEntityEdgeNodeEntity) GetName() string {
	return v.Name
}

// __ArtifactFileURLsInput is used internally by genqlient
type __ArtifactFileURLsInput struct {
	Id      string  `json:"id"`
	Cursor  *string `json:"cursor"`
	PerPage *int    `json:"perPage"`
}

// GetId returns __ArtifactFileURLsInput.Id, and is useful for accessing the field via an interface.
func (v *__ArtifactFileURLsInput) GetId() string { return v.Id }

// GetCursor returns __ArtifactFileURLsInput.Cursor, and is useful for accessing the field via an interface.
func (v *__ArtifactFileURLsInput) GetCursor() *string { return v.Cursor }

// GetPerPage returns __ArtifactFileURLsInput.PerPage, and is useful for accessing the field via an interface.
func (v *__ArtifactFileURLsInput) GetPerPage() *int { return v.PerPage }

// __ArtifactManifestInput is used internally by genqlient
type __ArtifactManifestInput struct {
	Artifact_id string `json:"artifact_id"`
}

// GetArtifact_id returns __ArtifactManifestInput.Artifact_id, and is useful for accessing the field via an interface.
func (v *__ArtifactManifestInput) GetArtifact_id() string { return v.Artifact_id }

// __ClientIDMappingInput is used internally by genqlient
type __ClientIDMappingInput struct {
	ClientID string `json:"clientID"`
}

// GetClientID returns __ClientIDMappingInput.ClientID, and is useful for accessing the field via an interface.
func (v *__ClientIDMappingInput) GetClientID() string { return v.ClientID }

// __CommitArtifactInput is used internally by genqlient
type __CommitArtifactInput struct {
	ArtifactID string `json:"artifactID"`
}

// GetArtifactID returns __CommitArtifactInput.ArtifactID, and is useful for accessing the field via an interface.
func (v *__CommitArtifactInput) GetArtifactID() string { return v.ArtifactID }

// __CreateArtifactFilesInput is used internally by genqlient
type __CreateArtifactFilesInput struct {
	ArtifactFiles []CreateArtifactFileSpecInput `json:"artifactFiles"`
	StorageLayout ArtifactStorageLayout         `json:"storageLayout"`
}

// GetArtifactFiles returns __CreateArtifactFilesInput.ArtifactFiles, and is useful for accessing the field via an interface.
func (v *__CreateArtifactFilesInput) GetArtifactFiles() []CreateArtifactFileSpecInput {
	return v.ArtifactFiles
}

// GetStorageLayout returns __CreateArtifactFilesInput.StorageLayout, and is useful for accessing the field via an interface.
func (v *__CreateArtifactFilesInput) GetStorageLayout() ArtifactStorageLayout { return v.StorageLayout }

// __CreateArtifactInput is used internally by genqlient
type __CreateArtifactInput struct {
	EntityName             string               `json:"entityName"`
	ProjectName            string               `json:"projectName"`
	ArtifactTypeName       string               `json:"artifactTypeName"`
	ArtifactCollectionName string               `json:"artifactCollectionName"`
	RunName                *string              `json:"runName"`
	Digest                 string               `json:"digest"`
	Description            *string              `json:"description"`
	Aliases                []ArtifactAliasInput `json:"aliases"`
	Metadata               *string              `json:"metadata"`
	TtlDurationSeconds     *int64               `json:"ttlDurationSeconds"`
	HistoryStep            *int64               `json:"historyStep"`
	DistributedID          *string              `json:"distributedID"`
	ClientID               string               `json:"clientID"`
	SequenceClientID       string               `json:"sequenceClientID"`
}

// GetEntityName returns __CreateArtifactInput.EntityName, and is useful for accessing the field via an interface.
func (v *__CreateArtifactInput) GetEntityName() string { return v.EntityName }

// GetProjectName returns __CreateArtifactInput.ProjectName, and is useful for accessing the field via an interface.
func (v *__CreateArtifactInput) GetProjectName() string { return v.ProjectName }

// GetArtifactTypeName returns __CreateArtifactInput.ArtifactTypeName, and is useful for accessing the field via an interface.
func (v *__CreateArtifactInput) GetArtifactTypeName() string { return v.ArtifactTypeName }

// GetArtifactCollectionName returns __CreateArtifactInput.ArtifactCollectionName, and is useful for accessing the field via an interface.
func (v *__CreateArtifactInput) GetArtifactCollectionName() string { return v.ArtifactCollectionName }

// GetRunName returns __CreateArtifactInput.RunName, and is useful for accessing the field via an interface.
func (v *__CreateArtifactInput) GetRunName() *string { return v.RunName }

// GetDigest returns __CreateArtifactInput.Digest, and is useful for accessing the field via an interface.
func (v *__CreateArtifactInput) GetDigest() string { return v.Digest }

// GetDescription returns __CreateArtifactInput.Description, and is useful for accessing the field via an interface.
func (v *__CreateArtifactInput) GetDescription() *string { return v.Description }

// GetAliases returns __CreateArtifactInput.Aliases, and is useful for accessing the field via an interface.
func (v *__CreateArtifactInput) GetAliases() []ArtifactAliasInput { return v.Aliases }

// GetMetadata returns __CreateArtifactInput.Metadata, and is useful for accessing the field via an interface.
func (v *__CreateArtifactInput) GetMetadata() *string { return v.Metadata }

// GetTtlDurationSeconds returns __CreateArtifactInput.TtlDurationSeconds, and is useful for accessing the field via an interface.
func (v *__CreateArtifactInput) GetTtlDurationSeconds() *int64 { return v.TtlDurationSeconds }

// GetHistoryStep returns __CreateArtifactInput.HistoryStep, and is useful for accessing the field via an interface.
func (v *__CreateArtifactInput) GetHistoryStep() *int64 { return v.HistoryStep }

// GetDistributedID returns __CreateArtifactInput.DistributedID, and is useful for accessing the field via an interface.
func (v *__CreateArtifactInput) GetDistributedID() *string { return v.DistributedID }

// GetClientID returns __CreateArtifactInput.ClientID, and is useful for accessing the field via an interface.
func (v *__CreateArtifactInput) GetClientID() string { return v.ClientID }

// GetSequenceClientID returns __CreateArtifactInput.SequenceClientID, and is useful for accessing the field via an interface.
func (v *__CreateArtifactInput) GetSequenceClientID() string { return v.SequenceClientID }

// __CreateArtifactManifestInput is used internally by genqlient
type __CreateArtifactManifestInput struct {
	ArtifactID     string               `json:"artifactID"`
	BaseArtifactID *string              `json:"baseArtifactID"`
	Name           string               `json:"name"`
	Digest         string               `json:"digest"`
	EntityName     string               `json:"entityName"`
	ProjectName    string               `json:"projectName"`
	RunName        string               `json:"runName"`
	ManifestType   ArtifactManifestType `json:"manifestType"`
	IncludeUpload  bool                 `json:"includeUpload"`
}

// GetArtifactID returns __CreateArtifactManifestInput.ArtifactID, and is useful for accessing the field via an interface.
func (v *__CreateArtifactManifestInput) GetArtifactID() string { return v.ArtifactID }

// GetBaseArtifactID returns __CreateArtifactManifestInput.BaseArtifactID, and is useful for accessing the field via an interface.
func (v *__CreateArtifactManifestInput) GetBaseArtifactID() *string { return v.BaseArtifactID }

// GetName returns __CreateArtifactManifestInput.Name, and is useful for accessing the field via an interface.
func (v *__CreateArtifactManifestInput) GetName() string { return v.Name }

// GetDigest returns __CreateArtifactManifestInput.Digest, and is useful for accessing the field via an interface.
func (v *__CreateArtifactManifestInput) GetDigest() string { return v.Digest }

// GetEntityName returns __CreateArtifactManifestInput.EntityName, and is useful for accessing the field via an interface.
func (v *__CreateArtifactManifestInput) GetEntityName() string { return v.EntityName }

// GetProjectName returns __CreateArtifactManifestInput.ProjectName, and is useful for accessing the field via an interface.
func (v *__CreateArtifactManifestInput) GetProjectName() string { return v.ProjectName }

// GetRunName returns __CreateArtifactManifestInput.RunName, and is useful for accessing the field via an interface.
func (v *__CreateArtifactManifestInput) GetRunName() string { return v.RunName }

// GetManifestType returns __CreateArtifactManifestInput.ManifestType, and is useful for accessing the field via an interface.
func (v *__CreateArtifactManifestInput) GetManifestType() ArtifactManifestType { return v.ManifestType }

// GetIncludeUpload returns __CreateArtifactManifestInput.IncludeUpload, and is useful for accessing the field via an interface.
func (v *__CreateArtifactManifestInput) GetIncludeUpload() bool { return v.IncludeUpload }

// __CreateRunFilesInput is used internally by genqlient
type __CreateRunFilesInput struct {
	Entity  string   `json:"entity"`
	Project string   `json:"project"`
	Run     string   `json:"run"`
	Files   []string `json:"files"`
}

// GetEntity returns __CreateRunFilesInput.Entity, and is useful for accessing the field via an interface.
func (v *__CreateRunFilesInput) GetEntity() string { return v.Entity }

// GetProject returns __CreateRunFilesInput.Project, and is useful for accessing the field via an interface.
func (v *__CreateRunFilesInput) GetProject() string { return v.Project }

// GetRun returns __CreateRunFilesInput.Run, and is useful for accessing the field via an interface.
func (v *__CreateRunFilesInput) GetRun() string { return v.Run }

// GetFiles returns __CreateRunFilesInput.Files, and is useful for accessing the field via an interface.
func (v *__CreateRunFilesInput) GetFiles() []string { return v.Files }

// __LinkArtifactInput is used internally by genqlient
type __LinkArtifactInput struct {
	ArtifactPortfolioName string               `json:"artifactPortfolioName"`
	EntityName            string               `json:"entityName"`
	ProjectName           string               `json:"projectName"`
	Aliases               []ArtifactAliasInput `json:"aliases"`
	ClientId              *string              `json:"clientId"`
	ArtifactId            *string              `json:"artifactId"`
}

// GetArtifactPortfolioName returns __LinkArtifactInput.ArtifactPortfolioName, and is useful for accessing the field via an interface.
func (v *__LinkArtifactInput) GetArtifactPortfolioName() string { return v.ArtifactPortfolioName }

// GetEntityName returns __LinkArtifactInput.EntityName, and is useful for accessing the field via an interface.
func (v *__LinkArtifactInput) GetEntityName() string { return v.EntityName }

// GetProjectName returns __LinkArtifactInput.ProjectName, and is useful for accessing the field via an interface.
func (v *__LinkArtifactInput) GetProjectName() string { return v.ProjectName }

// GetAliases returns __LinkArtifactInput.Aliases, and is useful for accessing the field via an interface.
func (v *__LinkArtifactInput) GetAliases() []ArtifactAliasInput { return v.Aliases }

// GetClientId returns __LinkArtifactInput.ClientId, and is useful for accessing the field via an interface.
func (v *__LinkArtifactInput) GetClientId() *string { return v.ClientId }

// GetArtifactId returns __LinkArtifactInput.ArtifactId, and is useful for accessing the field via an interface.
func (v *__LinkArtifactInput) GetArtifactId() *string { return v.ArtifactId }

// __NotifyScriptableRunAlertInput is used internally by genqlient
type __NotifyScriptableRunAlertInput struct {
	EntityName   string         `json:"entityName"`
	ProjectName  string         `json:"projectName"`
	RunName      string         `json:"runName"`
	Title        string         `json:"title"`
	Text         string         `json:"text"`
	Severity     *AlertSeverity `json:"severity"`
	WaitDuration *int64         `json:"waitDuration"`
}

// GetEntityName returns __NotifyScriptableRunAlertInput.EntityName, and is useful for accessing the field via an interface.
func (v *__NotifyScriptableRunAlertInput) GetEntityName() string { return v.EntityName }

// GetProjectName returns __NotifyScriptableRunAlertInput.ProjectName, and is useful for accessing the field via an interface.
func (v *__NotifyScriptableRunAlertInput) GetProjectName() string { return v.ProjectName }

// GetRunName returns __NotifyScriptableRunAlertInput.RunName, and is useful for accessing the field via an interface.
func (v *__NotifyScriptableRunAlertInput) GetRunName() string { return v.RunName }

// GetTitle returns __NotifyScriptableRunAlertInput.Title, and is useful for accessing the field via an interface.
func (v *__NotifyScriptableRunAlertInput) GetTitle() string { return v.Title }

// GetText returns __NotifyScriptableRunAlertInput.Text, and is useful for accessing the field via an interface.
func (v *__NotifyScriptableRunAlertInput) GetText() string { return v.Text }

// GetSeverity returns __NotifyScriptableRunAlertInput.Severity, and is useful for accessing the field via an interface.
func (v *__NotifyScriptableRunAlertInput) GetSeverity() *AlertSeverity { return v.Severity }

// GetWaitDuration returns __NotifyScriptableRunAlertInput.WaitDuration, and is useful for accessing the field via an interface.
func (v *__NotifyScriptableRunAlertInput) GetWaitDuration() *int64 { return v.WaitDuration }

// __RunResumeStatusInput is used internally by genqlient
type __RunResumeStatusInput struct {
	Project *string `json:"project"`
	Entity  *string `json:"entity"`
	Name    string  `json:"name"`
}

// GetProject returns __RunResumeStatusInput.Project, and is useful for accessing the field via an interface.
func (v *__RunResumeStatusInput) GetProject() *string { return v.Project }

// GetEntity returns __RunResumeStatusInput.Entity, and is useful for accessing the field via an interface.
func (v *__RunResumeStatusInput) GetEntity() *string { return v.Entity }

// GetName returns __RunResumeStatusInput.Name, and is useful for accessing the field via an interface.
func (v *__RunResumeStatusInput) GetName() string { return v.Name }

// __UpsertBucketInput is used internally by genqlient
type __UpsertBucketInput struct {
	Id             *string  `json:"id"`
	Name           *string  `json:"name"`
	Project        *string  `json:"project"`
	Entity         *string  `json:"entity"`
	GroupName      *string  `json:"groupName"`
	Description    *string  `json:"description"`
	DisplayName    *string  `json:"displayName"`
	Notes          *string  `json:"notes"`
	Commit         *string  `json:"commit"`
	Config         *string  `json:"config"`
	Host           *string  `json:"host"`
	Debug          *bool    `json:"debug"`
	Program        *string  `json:"program"`
	Repo           *string  `json:"repo"`
	JobType        *string  `json:"jobType"`
	State          *string  `json:"state"`
	Sweep          *string  `json:"sweep"`
	Tags           []string `json:"tags"`
	SummaryMetrics *string  `json:"summaryMetrics"`
}

// GetId returns __UpsertBucketInput.Id, and is useful for accessing the field via an interface.
func (v *__UpsertBucketInput) GetId() *string { return v.Id }

// GetName returns __UpsertBucketInput.Name, and is useful for accessing the field via an interface.
func (v *__UpsertBucketInput) GetName() *string { return v.Name }

// GetProject returns __UpsertBucketInput.Project, and is useful for accessing the field via an interface.
func (v *__UpsertBucketInput) GetProject() *string { return v.Project }

// GetEntity returns __UpsertBucketInput.Entity, and is useful for accessing the field via an interface.
func (v *__UpsertBucketInput) GetEntity() *string { return v.Entity }

// GetGroupName returns __UpsertBucketInput.GroupName, and is useful for accessing the field via an interface.
func (v *__UpsertBucketInput) GetGroupName() *string { return v.GroupName }

// GetDescription returns __UpsertBucketInput.Description, and is useful for accessing the field via an interface.
func (v *__UpsertBucketInput) GetDescription() *string { return v.Description }

// GetDisplayName returns __UpsertBucketInput.DisplayName, and is useful for accessing the field via an interface.
func (v *__UpsertBucketInput) GetDisplayName() *string { return v.DisplayName }

// GetNotes returns __UpsertBucketInput.Notes, and is useful for accessing the field via an interface.
func (v *__UpsertBucketInput) GetNotes() *string { return v.Notes }

// GetCommit returns __UpsertBucketInput.Commit, and is useful for accessing the field via an interface.
func (v *__UpsertBucketInput) GetCommit() *string { return v.Commit }

// GetConfig returns __UpsertBucketInput.Config, and is useful for accessing the field via an interface.
func (v *__UpsertBucketInput) GetConfig() *string { return v.Config }

// GetHost returns __UpsertBucketInput.Host, and is useful for accessing the field via an interface.
func (v *__UpsertBucketInput) GetHost() *string { return v.Host }

// GetDebug returns __UpsertBucketInput.Debug, and is useful for accessing the field via an interface.
func (v *__UpsertBucketInput) GetDebug() *bool { return v.Debug }

// GetProgram returns __UpsertBucketInput.Program, and is useful for accessing the field via an interface.
func (v *__UpsertBucketInput) GetProgram() *string { return v.Program }

// GetRepo returns __UpsertBucketInput.Repo, and is useful for accessing the field via an interface.
func (v *__UpsertBucketInput) GetRepo() *string { return v.Repo }

// GetJobType returns __UpsertBucketInput.JobType, and is useful for accessing the field via an interface.
func (v *__UpsertBucketInput) GetJobType() *string { return v.JobType }

// GetState returns __UpsertBucketInput.State, and is useful for accessing the field via an interface.
func (v *__UpsertBucketInput) GetState() *string { return v.State }

// GetSweep returns __UpsertBucketInput.Sweep, and is useful for accessing the field via an interface.
func (v *__UpsertBucketInput) GetSweep() *string { return v.Sweep }

// GetTags returns __UpsertBucketInput.Tags, and is useful for accessing the field via an interface.
func (v *__UpsertBucketInput) GetTags() []string { return v.Tags }

// GetSummaryMetrics returns __UpsertBucketInput.SummaryMetrics, and is useful for accessing the field via an interface.
func (v *__UpsertBucketInput) GetSummaryMetrics() *string { return v.SummaryMetrics }

// __UseArtifactInput is used internally by genqlient
type __UseArtifactInput struct {
	EntityName  string `json:"entityName"`
	ProjectName string `json:"projectName"`
	RunName     string `json:"runName"`
	ArtifactID  string `json:"artifactID"`
}

// GetEntityName returns __UseArtifactInput.EntityName, and is useful for accessing the field via an interface.
func (v *__UseArtifactInput) GetEntityName() string { return v.EntityName }

// GetProjectName returns __UseArtifactInput.ProjectName, and is useful for accessing the field via an interface.
func (v *__UseArtifactInput) GetProjectName() string { return v.ProjectName }

// GetRunName returns __UseArtifactInput.RunName, and is useful for accessing the field via an interface.
func (v *__UseArtifactInput) GetRunName() string { return v.RunName }

// GetArtifactID returns __UseArtifactInput.ArtifactID, and is useful for accessing the field via an interface.
func (v *__UseArtifactInput) GetArtifactID() string { return v.ArtifactID }

// The query or mutation executed by ArtifactFileURLs.
const ArtifactFileURLs_Operation = `
query ArtifactFileURLs ($id: ID!, $cursor: String, $perPage: Int) {
	artifact(id: $id) {
		files(after: $cursor, first: $perPage) {
			pageInfo {
				hasNextPage
				endCursor
			}
			edges {
				node {
					name
					directUrl
				}
			}
		}
	}
}
`

func ArtifactFileURLs(
	ctx context.Context,
	client graphql.Client,
	id string,
	cursor *string,
	perPage *int,
) (*ArtifactFileURLsResponse, error) {
	req := &graphql.Request{
		OpName: "ArtifactFileURLs",
		Query:  ArtifactFileURLs_Operation,
		Variables: &__ArtifactFileURLsInput{
			Id:      id,
			Cursor:  cursor,
			PerPage: perPage,
		},
	}
	var err error

	var data ArtifactFileURLsResponse
	resp := &graphql.Response{Data: &data}

	err = client.MakeRequest(
		ctx,
		req,
		resp,
	)

	return &data, err
}

// The query or mutation executed by ArtifactManifest.
const ArtifactManifest_Operation = `
query ArtifactManifest ($artifact_id: ID!) {
	artifact(id: $artifact_id) {
		currentManifest {
			file {
				directUrl
			}
		}
	}
}
`

func ArtifactManifest(
	ctx context.Context,
	client graphql.Client,
	artifact_id string,
) (*ArtifactManifestResponse, error) {
	req := &graphql.Request{
		OpName: "ArtifactManifest",
		Query:  ArtifactManifest_Operation,
		Variables: &__ArtifactManifestInput{
			Artifact_id: artifact_id,
		},
	}
	var err error

	var data ArtifactManifestResponse
	resp := &graphql.Response{Data: &data}

	err = client.MakeRequest(
		ctx,
		req,
		resp,
	)

	return &data, err
}

// The query or mutation executed by ClientIDMapping.
const ClientIDMapping_Operation = `
query ClientIDMapping ($clientID: ID!) {
	clientIDMapping(clientID: $clientID) {
		serverID
	}
}
`

func ClientIDMapping(
	ctx context.Context,
	client graphql.Client,
	clientID string,
) (*ClientIDMappingResponse, error) {
	req := &graphql.Request{
		OpName: "ClientIDMapping",
		Query:  ClientIDMapping_Operation,
		Variables: &__ClientIDMappingInput{
			ClientID: clientID,
		},
	}
	var err error

	var data ClientIDMappingResponse
	resp := &graphql.Response{Data: &data}

	err = client.MakeRequest(
		ctx,
		req,
		resp,
	)

	return &data, err
}

// The query or mutation executed by CommitArtifact.
const CommitArtifact_Operation = `
mutation CommitArtifact ($artifactID: ID!) {
	commitArtifact(input: {artifactID:$artifactID}) {
		artifact {
			id
			digest
		}
	}
}
`

func CommitArtifact(
	ctx context.Context,
	client graphql.Client,
	artifactID string,
) (*CommitArtifactResponse, error) {
	req := &graphql.Request{
		OpName: "CommitArtifact",
		Query:  CommitArtifact_Operation,
		Variables: &__CommitArtifactInput{
			ArtifactID: artifactID,
		},
	}
	var err error

	var data CommitArtifactResponse
	resp := &graphql.Response{Data: &data}

	err = client.MakeRequest(
		ctx,
		req,
		resp,
	)

	return &data, err
}

// The query or mutation executed by CreateArtifact.
const CreateArtifact_Operation = `
mutation CreateArtifact ($entityName: String!, $projectName: String!, $artifactTypeName: String!, $artifactCollectionName: String!, $runName: String, $digest: String!, $description: String, $aliases: [ArtifactAliasInput!], $metadata: JSONString, $ttlDurationSeconds: Int64, $historyStep: Int64, $distributedID: String, $clientID: ID!, $sequenceClientID: ID!) {
	createArtifact(input: {entityName:$entityName,projectName:$projectName,artifactTypeName:$artifactTypeName,artifactCollectionName:$artifactCollectionName,runName:$runName,digest:$digest,digestAlgorithm:MANIFEST_MD5,description:$description,aliases:$aliases,metadata:$metadata,ttlDurationSeconds:$ttlDurationSeconds,historyStep:$historyStep,enableDigestDeduplication:true,distributedID:$distributedID,clientID:$clientID,sequenceClientID:$sequenceClientID}) {
		artifact {
			id
			state
			artifactSequence {
				latestArtifact {
					id
				}
			}
		}
	}
}
`

func CreateArtifact(
	ctx context.Context,
	client graphql.Client,
	entityName string,
	projectName string,
	artifactTypeName string,
	artifactCollectionName string,
	runName *string,
	digest string,
	description *string,
	aliases []ArtifactAliasInput,
	metadata *string,
	ttlDurationSeconds *int64,
	historyStep *int64,
	distributedID *string,
	clientID string,
	sequenceClientID string,
) (*CreateArtifactResponse, error) {
	req := &graphql.Request{
		OpName: "CreateArtifact",
		Query:  CreateArtifact_Operation,
		Variables: &__CreateArtifactInput{
			EntityName:             entityName,
			ProjectName:            projectName,
			ArtifactTypeName:       artifactTypeName,
			ArtifactCollectionName: artifactCollectionName,
			RunName:                runName,
			Digest:                 digest,
			Description:            description,
			Aliases:                aliases,
			Metadata:               metadata,
			TtlDurationSeconds:     ttlDurationSeconds,
			HistoryStep:            historyStep,
			DistributedID:          distributedID,
			ClientID:               clientID,
			SequenceClientID:       sequenceClientID,
		},
	}
	var err error

	var data CreateArtifactResponse
	resp := &graphql.Response{Data: &data}

	err = client.MakeRequest(
		ctx,
		req,
		resp,
	)

	return &data, err
}

// The query or mutation executed by CreateArtifactFiles.
const CreateArtifactFiles_Operation = `
mutation CreateArtifactFiles ($artifactFiles: [CreateArtifactFileSpecInput!]!, $storageLayout: ArtifactStorageLayout!) {
	createArtifactFiles(input: {artifactFiles:$artifactFiles,storageLayout:$storageLayout}) {
		files {
			edges {
				node {
					uploadUrl
					uploadHeaders
					artifact {
						id
					}
				}
			}
		}
	}
}
`

func CreateArtifactFiles(
	ctx context.Context,
	client graphql.Client,
	artifactFiles []CreateArtifactFileSpecInput,
	storageLayout ArtifactStorageLayout,
) (*CreateArtifactFilesResponse, error) {
	req := &graphql.Request{
		OpName: "CreateArtifactFiles",
		Query:  CreateArtifactFiles_Operation,
		Variables: &__CreateArtifactFilesInput{
			ArtifactFiles: artifactFiles,
			StorageLayout: storageLayout,
		},
	}
	var err error

	var data CreateArtifactFilesResponse
	resp := &graphql.Response{Data: &data}

	err = client.MakeRequest(
		ctx,
		req,
		resp,
	)

	return &data, err
}

// The query or mutation executed by CreateArtifactManifest.
const CreateArtifactManifest_Operation = `
mutation CreateArtifactManifest ($artifactID: ID!, $baseArtifactID: ID, $name: String!, $digest: String!, $entityName: String!, $projectName: String!, $runName: String!, $manifestType: ArtifactManifestType!, $includeUpload: Boolean!) {
	createArtifactManifest(input: {artifactID:$artifactID,baseArtifactID:$baseArtifactID,name:$name,digest:$digest,entityName:$entityName,projectName:$projectName,runName:$runName,type:$manifestType}) {
		artifactManifest {
			id
			file {
				id
				uploadUrl @include(if: $includeUpload)
				uploadHeaders @include(if: $includeUpload)
			}
		}
	}
}
`

func CreateArtifactManifest(
	ctx context.Context,
	client graphql.Client,
	artifactID string,
	baseArtifactID *string,
	name string,
	digest string,
	entityName string,
	projectName string,
	runName string,
	manifestType ArtifactManifestType,
	includeUpload bool,
) (*CreateArtifactManifestResponse, error) {
	req := &graphql.Request{
		OpName: "CreateArtifactManifest",
		Query:  CreateArtifactManifest_Operation,
		Variables: &__CreateArtifactManifestInput{
			ArtifactID:     artifactID,
			BaseArtifactID: baseArtifactID,
			Name:           name,
			Digest:         digest,
			EntityName:     entityName,
			ProjectName:    projectName,
			RunName:        runName,
			ManifestType:   manifestType,
			IncludeUpload:  includeUpload,
		},
	}
	var err error

	var data CreateArtifactManifestResponse
	resp := &graphql.Response{Data: &data}

	err = client.MakeRequest(
		ctx,
		req,
		resp,
	)

	return &data, err
}

// The query or mutation executed by CreateRunFiles.
const CreateRunFiles_Operation = `
mutation CreateRunFiles ($entity: String!, $project: String!, $run: String!, $files: [String!]!) {
	createRunFiles(input: {entityName:$entity,projectName:$project,runName:$run,files:$files}) {
		runID
		uploadHeaders
		files {
			name
			uploadUrl
		}
	}
}
`

func CreateRunFiles(
	ctx context.Context,
	client graphql.Client,
	entity string,
	project string,
	run string,
	files []string,
) (*CreateRunFilesResponse, error) {
	req := &graphql.Request{
		OpName: "CreateRunFiles",
		Query:  CreateRunFiles_Operation,
		Variables: &__CreateRunFilesInput{
			Entity:  entity,
			Project: project,
			Run:     run,
			Files:   files,
		},
	}
	var err error

	var data CreateRunFilesResponse
	resp := &graphql.Response{Data: &data}

	err = client.MakeRequest(
		ctx,
		req,
		resp,
	)

	return &data, err
}

// The query or mutation executed by LinkArtifact.
const LinkArtifact_Operation = `
mutation LinkArtifact ($artifactPortfolioName: String!, $entityName: String!, $projectName: String!, $aliases: [ArtifactAliasInput!], $clientId: ID, $artifactId: ID) {
	linkArtifact(input: {artifactPortfolioName:$artifactPortfolioName,entityName:$entityName,projectName:$projectName,aliases:$aliases,artifactID:$artifactId,clientID:$clientId}) {
		versionIndex
	}
}
`

func LinkArtifact(
	ctx context.Context,
	client graphql.Client,
	artifactPortfolioName string,
	entityName string,
	projectName string,
	aliases []ArtifactAliasInput,
	clientId *string,
	artifactId *string,
) (*LinkArtifactResponse, error) {
	req := &graphql.Request{
		OpName: "LinkArtifact",
		Query:  LinkArtifact_Operation,
		Variables: &__LinkArtifactInput{
			ArtifactPortfolioName: artifactPortfolioName,
			EntityName:            entityName,
			ProjectName:           projectName,
			Aliases:               aliases,
			ClientId:              clientId,
			ArtifactId:            artifactId,
		},
	}
	var err error

	var data LinkArtifactResponse
	resp := &graphql.Response{Data: &data}

	err = client.MakeRequest(
		ctx,
		req,
		resp,
	)

	return &data, err
}

// The query or mutation executed by NotifyScriptableRunAlert.
const NotifyScriptableRunAlert_Operation = `
mutation NotifyScriptableRunAlert ($entityName: String!, $projectName: String!, $runName: String!, $title: String!, $text: String!, $severity: AlertSeverity = INFO, $waitDuration: Duration) {
	notifyScriptableRunAlert(input: {entityName:$entityName,projectName:$projectName,runName:$runName,title:$title,text:$text,severity:$severity,waitDuration:$waitDuration}) {
		success
	}
}
`

func NotifyScriptableRunAlert(
	ctx context.Context,
	client graphql.Client,
	entityName string,
	projectName string,
	runName string,
	title string,
	text string,
	severity *AlertSeverity,
	waitDuration *int64,
) (*NotifyScriptableRunAlertResponse, error) {
	req := &graphql.Request{
		OpName: "NotifyScriptableRunAlert",
		Query:  NotifyScriptableRunAlert_Operation,
		Variables: &__NotifyScriptableRunAlertInput{
			EntityName:   entityName,
			ProjectName:  projectName,
			RunName:      runName,
			Title:        title,
			Text:         text,
			Severity:     severity,
			WaitDuration: waitDuration,
		},
	}
	var err error

	var data NotifyScriptableRunAlertResponse
	resp := &graphql.Response{Data: &data}

	err = client.MakeRequest(
		ctx,
		req,
		resp,
	)

	return &data, err
}

// The query or mutation executed by RunResumeStatus.
const RunResumeStatus_Operation = `
query RunResumeStatus ($project: String, $entity: String, $name: String!) {
	model(name: $project, entityName: $entity) {
		id
		name
		entity {
			id
			name
		}
		bucket(name: $name, missingOk: true) {
			id
			name
			summaryMetrics
			displayName
			logLineCount
			historyLineCount
			eventsLineCount
			historyTail
			eventsTail
			config
			tags
		}
	}
}
`

func RunResumeStatus(
	ctx context.Context,
	client graphql.Client,
	project *string,
	entity *string,
	name string,
) (*RunResumeStatusResponse, error) {
	req := &graphql.Request{
		OpName: "RunResumeStatus",
		Query:  RunResumeStatus_Operation,
		Variables: &__RunResumeStatusInput{
			Project: project,
			Entity:  entity,
			Name:    name,
		},
	}
	var err error

	var data RunResumeStatusResponse
	resp := &graphql.Response{Data: &data}

	err = client.MakeRequest(
		ctx,
		req,
		resp,
	)

	return &data, err
}

// The query or mutation executed by ServerInfo.
const ServerInfo_Operation = `
query ServerInfo {
	serverInfo {
		cliVersionInfo
		latestLocalVersionInfo {
			outOfDate
			latestVersionString
			versionOnThisInstanceString
		}
	}
}
`

func ServerInfo(
	ctx context.Context,
	client graphql.Client,
) (*ServerInfoResponse, error) {
	req := &graphql.Request{
		OpName: "ServerInfo",
		Query:  ServerInfo_Operation,
	}
	var err error

	var data ServerInfoResponse
	resp := &graphql.Response{Data: &data}

	err = client.MakeRequest(
		ctx,
		req,
		resp,
	)

	return &data, err
}

// The query or mutation executed by UpsertBucket.
const UpsertBucket_Operation = `
mutation UpsertBucket ($id: String, $name: String, $project: String, $entity: String, $groupName: String, $description: String, $displayName: String, $notes: String, $commit: String, $config: JSONString, $host: String, $debug: Boolean, $program: String, $repo: String, $jobType: String, $state: String, $sweep: String, $tags: [String!], $summaryMetrics: JSONString) {
	upsertBucket(input: {id:$id,name:$name,groupName:$groupName,modelName:$project,entityName:$entity,description:$description,displayName:$displayName,notes:$notes,config:$config,commit:$commit,host:$host,debug:$debug,jobProgram:$program,jobRepo:$repo,jobType:$jobType,state:$state,sweep:$sweep,tags:$tags,summaryMetrics:$summaryMetrics}) {
		bucket {
			id
			name
			displayName
			description
			config
			sweepName
			project {
				id
				name
				entity {
					id
					name
				}
			}
		}
		inserted
	}
}
`

func UpsertBucket(
	ctx context.Context,
	client graphql.Client,
	id *string,
	name *string,
	project *string,
	entity *string,
	groupName *string,
	description *string,
	displayName *string,
	notes *string,
	commit *string,
	config *string,
	host *string,
	debug *bool,
	program *string,
	repo *string,
	jobType *string,
	state *string,
	sweep *string,
	tags []string,
	summaryMetrics *string,
) (*UpsertBucketResponse, error) {
	req := &graphql.Request{
		OpName: "UpsertBucket",
		Query:  UpsertBucket_Operation,
		Variables: &__UpsertBucketInput{
			Id:             id,
			Name:           name,
			Project:        project,
			Entity:         entity,
			GroupName:      groupName,
			Description:    description,
			DisplayName:    displayName,
			Notes:          notes,
			Commit:         commit,
			Config:         config,
			Host:           host,
			Debug:          debug,
			Program:        program,
			Repo:           repo,
			JobType:        jobType,
			State:          state,
			Sweep:          sweep,
			Tags:           tags,
			SummaryMetrics: summaryMetrics,
		},
	}
	var err error

	var data UpsertBucketResponse
	resp := &graphql.Response{Data: &data}

	err = client.MakeRequest(
		ctx,
		req,
		resp,
	)

	return &data, err
}

// The query or mutation executed by UseArtifact.
const UseArtifact_Operation = `
mutation UseArtifact ($entityName: String!, $projectName: String!, $runName: String!, $artifactID: ID!) {
	useArtifact(input: {entityName:$entityName,projectName:$projectName,runName:$runName,artifactID:$artifactID}) {
		artifact {
			id
		}
	}
}
`

func UseArtifact(
	ctx context.Context,
	client graphql.Client,
	entityName string,
	projectName string,
	runName string,
	artifactID string,
) (*UseArtifactResponse, error) {
	req := &graphql.Request{
		OpName: "UseArtifact",
		Query:  UseArtifact_Operation,
		Variables: &__UseArtifactInput{
			EntityName:  entityName,
			ProjectName: projectName,
			RunName:     runName,
			ArtifactID:  artifactID,
		},
	}
	var err error

	var data UseArtifactResponse
	resp := &graphql.Response{Data: &data}

	err = client.MakeRequest(
		ctx,
		req,
		resp,
	)

	return &data, err
}

// The query or mutation executed by Viewer.
const Viewer_Operation = `
query Viewer {
	viewer {
		id
		entity
		flags
		teams {
			edges {
				node {
					name
				}
			}
		}
	}
}
`

func Viewer(
	ctx context.Context,
	client graphql.Client,
) (*ViewerResponse, error) {
	req := &graphql.Request{
		OpName: "Viewer",
		Query:  Viewer_Operation,
	}
	var err error

	var data ViewerResponse
	resp := &graphql.Response{Data: &data}

	err = client.MakeRequest(
		ctx,
		req,
		resp,
	)

	return &data, err
}
